package com.module03.work.demo02;

/*
 *  编程获取两个指定字符串中的最大相同子串。
 *  如： s1="asdafghjka", s2="aaasdfg"
 */

public class Demo02 {

    public static void main(String[] args) {
        //创建s1、s2
        String s1 = "asdafghjka";
        String s2 = "aaasdfgh";//asd  fgh

        int len = s2.length();//s2子串长度
        int cnt = 1;//当前长度下的子串个数
        int flag = 0;//1、标签控制循环终止，2、当有多个子串时，都可以找出来并打印
        for (int i = len; i > 0; i--) {
            for (int j = 0; j < cnt; j++) {
                String s = s2.substring(j, len + j);
                if (s1.contains(s)) {
                    System.out.println("s = " + s);
                    flag++;
                }
            }
            if (flag != 0) {
                System.out.println("s1、s2最大的相同字串有" + flag + "个！");
                break;

            }
            len--;
            cnt++;
        }
    }
}
